/**
 * Project Name:gc_sms_hss
 * File Name:EmployeeStatus.java
 * Package Name:com.clps.dev.sms.entity.sm
 * Copyright (c) 2018, erwin.wang@clpsglobal.com All Rights Reserved.
 *
 */
package com.clps.dev.sms.entity.sm;

import java.io.Serializable;
import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * ClassName: EmployeeStatus <br/>
 * Description: EmployeeStatus Bean
 *
 * @author erwin.wang
 * @version V1.0
 * @since JDK 1.8
 * @date 2018-12-04 17:43:01
 */
@Entity
@Table(name="sm_employee_status")
public class EmployeeStatus implements Serializable {

	private static final long serialVersionUID = 1L;
	private Integer employeeStatusId;						//状态编号	
	private String employeeStatusName;						//状态名称
	private String employeeStatusDesription;				//状态描述
	private Integer employeeStatusCreatedEmployeeId;		//创建人名ID
	private String employeeStatusCreatedTime;				//创建时间
	private Integer employeeStatusUpdatedEmployeeId;		//更新人名ID
	private Timestamp employeeStatusUpdatedTime;			//更新时间
	/**
	 * 
	 */
	public EmployeeStatus() {
		super();
	}
	/**
	 * @param employeeStatusId
	 * @param employeeStatusName
	 * @param employeeStatusDesription
	 * @param employeeStatusCreatedEmployeeId
	 * @param employeeStatusCreatedTime
	 * @param employeeStatusUpdatedEmployeeId
	 * @param employeeStatusUpdatedTime
	 */
	
	public EmployeeStatus(Integer employeeStatusId, String employeeStatusName, String employeeStatusDesription,
			Integer employeeStatusCreatedEmployeeId, String employeeStatusCreatedTime,
			Integer employeeStatusUpdatedEmployeeId, Timestamp employeeStatusUpdatedTime) {
		super();
		this.employeeStatusName = employeeStatusName;
		this.employeeStatusDesription = employeeStatusDesription;
		this.employeeStatusCreatedEmployeeId = employeeStatusCreatedEmployeeId;
		this.employeeStatusCreatedTime = employeeStatusCreatedTime;
		this.employeeStatusUpdatedEmployeeId = employeeStatusUpdatedEmployeeId;
		this.employeeStatusUpdatedTime = employeeStatusUpdatedTime;
	}
	
	/**
	 * @param employeeStatusName
	 * @param employeeStatusDesription
	 * @param employeeStatusCreatedEmployeeId
	 * @param employeeStatusCreatedTime
	 * @param employeeStatusUpdatedEmployeeId
	 * @param employeeStatusUpdatedTime
	 */
	
	public EmployeeStatus(String employeeStatusName, String employeeStatusDesription,
			Integer employeeStatusCreatedEmployeeId, String employeeStatusCreatedTime,
			Integer employeeStatusUpdatedEmployeeId) {
		super();
		this.employeeStatusName = employeeStatusName;
		this.employeeStatusDesription = employeeStatusDesription;
		this.employeeStatusCreatedEmployeeId = employeeStatusCreatedEmployeeId;
		this.employeeStatusCreatedTime = employeeStatusCreatedTime;
		this.employeeStatusUpdatedEmployeeId = employeeStatusUpdatedEmployeeId;
	}
	/**
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((employeeStatusCreatedEmployeeId == null) ? 0 : employeeStatusCreatedEmployeeId.hashCode());
		result = prime * result + ((employeeStatusCreatedTime == null) ? 0 : employeeStatusCreatedTime.hashCode());
		result = prime * result + ((employeeStatusDesription == null) ? 0 : employeeStatusDesription.hashCode());
		result = prime * result + ((employeeStatusId == null) ? 0 : employeeStatusId.hashCode());
		result = prime * result + ((employeeStatusName == null) ? 0 : employeeStatusName.hashCode());
		result = prime * result
				+ ((employeeStatusUpdatedEmployeeId == null) ? 0 : employeeStatusUpdatedEmployeeId.hashCode());
		result = prime * result + ((employeeStatusUpdatedTime == null) ? 0 : employeeStatusUpdatedTime.hashCode());
		return result;
	}
	
	/**
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		EmployeeStatus other = (EmployeeStatus) obj;
		if (employeeStatusCreatedEmployeeId == null) {
			if (other.employeeStatusCreatedEmployeeId != null)
				return false;
		} else if (!employeeStatusCreatedEmployeeId.equals(other.employeeStatusCreatedEmployeeId))
			return false;
		if (employeeStatusCreatedTime == null) {
			if (other.employeeStatusCreatedTime != null)
				return false;
		} else if (!employeeStatusCreatedTime.equals(other.employeeStatusCreatedTime))
			return false;
		if (employeeStatusDesription == null) {
			if (other.employeeStatusDesription != null)
				return false;
		} else if (!employeeStatusDesription.equals(other.employeeStatusDesription))
			return false;
		if (employeeStatusId == null) {
			if (other.employeeStatusId != null)
				return false;
		} else if (!employeeStatusId.equals(other.employeeStatusId))
			return false;
		if (employeeStatusName == null) {
			if (other.employeeStatusName != null)
				return false;
		} else if (!employeeStatusName.equals(other.employeeStatusName))
			return false;
		if (employeeStatusUpdatedEmployeeId == null) {
			if (other.employeeStatusUpdatedEmployeeId != null)
				return false;
		} else if (!employeeStatusUpdatedEmployeeId.equals(other.employeeStatusUpdatedEmployeeId))
			return false;
		if (employeeStatusUpdatedTime == null) {
			if (other.employeeStatusUpdatedTime != null)
				return false;
		} else if (!employeeStatusUpdatedTime.equals(other.employeeStatusUpdatedTime))
			return false;
		return true;
	}
	/**
	 * employeeStatusId.
	 * @return  the employeeStatusId
	 */
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="EMPLOYEE_STATUS_ID",length = 20, nullable=false)
	public Integer getEmployeeStatusId() {
		return employeeStatusId;
	}
	/**
	 * employeeStatusId.
	 * @param   employeeStatusId    the employeeStatusId to set
	 */
	public void setEmployeeStatusId(Integer employeeStatusId) {
		this.employeeStatusId = employeeStatusId;
	}
	/**
	 * employeeStatusName.
	 * @return  the employeeStatusName
	 */
	@Column(name="EMPLOYEE_STATUS_NAME",length = 50, nullable=false)
	public String getEmployeeStatusName() {
		return employeeStatusName;
	}
	/**
	 * employeeStatusName.
	 * @param   employeeStatusName    the employeeStatusName to set
	 */
	public void setEmployeeStatusName(String employeeStatusName) {
		this.employeeStatusName = employeeStatusName;
	}
	/**
	 * employeeStatusDesription.
	 * @return  the employeeStatusDesription
	 */
	@Column(name="EMPLOYEE_STATUS_DECRIPTION",length = 255)
	public String getEmployeeStatusDesription() {
		return employeeStatusDesription;
	}
	/**
	 * employeeStatusDesription.
	 * @param   employeeStatusDesription    the employeeStatusDesription to set
	 */
	public void setEmployeeStatusDesription(String employeeStatusDesription) {
		this.employeeStatusDesription = employeeStatusDesription;
	}
	/**
	 * employeeStatusCreatedEmployeeId.
	 * @return  the employeeStatusCreatedEmployeeId
	 */
	@Column(name="EMPLOYEE_STATUS_CREATED_EMPLOYEE_ID",updatable=false,length = 20, nullable=false)
	public Integer getEmployeeStatusCreatedEmployeeId() {
		return employeeStatusCreatedEmployeeId;
	}
	/**
	 * employeeStatusCreatedEmployeeId.
	 * @param   employeeStatusCreatedEmployeeId    the employeeStatusCreatedEmployeeId to set
	 */
	public void setEmployeeStatusCreatedEmployeeId(Integer employeeStatusCreatedEmployeeId) {
		this.employeeStatusCreatedEmployeeId = employeeStatusCreatedEmployeeId;
	}
	/**
	 * employeeStatusCreatedTime.
	 * @return  the employeeStatusCreatedTime
	 */
	@Column(name="EMPLOYEE_STATUS_CREATED_TIME",updatable=false,length = 50, nullable=false)
	public String getEmployeeStatusCreatedTime() {
		return employeeStatusCreatedTime;
	}
	/**
	 * employeeStatusCreatedTime.
	 * @param   employeeStatusCreatedTime    the employeeStatusCreatedTime to set
	 */
	public void setEmployeeStatusCreatedTime(String employeeStatusCreatedTime) {
		this.employeeStatusCreatedTime = employeeStatusCreatedTime;
	}
	/**
	 * employeeStatusUpdatedEmployeeId.
	 * @return  the employeeStatusUpdatedEmployeeId
	 */
	@Column(name="EMPLOYEE_STATUS_UPDATED_EMPLOYEE_ID",length = 20, nullable=false)
	public Integer getEmployeeStatusUpdatedEmployeeId() {
		return employeeStatusUpdatedEmployeeId;
	}
	/**
	 * employeeStatusUpdatedEmployeeId.
	 * @param   employeeStatusUpdatedEmployeeId    the employeeStatusUpdatedEmployeeId to set
	 */
	public void setEmployeeStatusUpdatedEmployeeId(Integer employeeStatusUpdatedEmployeeId) {
		this.employeeStatusUpdatedEmployeeId = employeeStatusUpdatedEmployeeId;
	}
	/**
	 * employeeStatusUpdatedTime.
	 * @return  the employeeStatusUpdatedTime
	 */
	@Column(name="EMPLOYEE_STATUS_UPDATED_TIME"
	,columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
	public Timestamp getEmployeeStatusUpdatedTime() {
		return employeeStatusUpdatedTime;
	}
	/**
	 * employeeStatusUpdatedTime.
	 * @param   employeeStatusUpdatedTime    the employeeStatusUpdatedTime to set
	 */
	public void setEmployeeStatusUpdatedTime(Timestamp employeeStatusUpdatedTime) {
		this.employeeStatusUpdatedTime = employeeStatusUpdatedTime;
	}
	/**
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "EmployeeStatus [employeeStatusId=" + employeeStatusId + ", employeeStatusName=" + employeeStatusName
				+ ", employeeStatusDesription=" + employeeStatusDesription + ", employeeStatusCreatedEmployeeId="
				+ employeeStatusCreatedEmployeeId + ", employeeStatusCreatedTime=" + employeeStatusCreatedTime
				+ ", employeeStatusUpdatedEmployeeId=" + employeeStatusUpdatedEmployeeId
				+ ", employeeStatusUpdatedTime=" + employeeStatusUpdatedTime + "]";
	}
	
	
}
